package com.ys.nms.module.business.controller.admin.portsVlans.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - ports_vlans Response VO")
@Data
@ExcelIgnoreUnannotated
public class PortsVlansRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25084")
    @ExcelProperty("ID")
    private Integer portVlanId;

    @Schema(description = "设备ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1398")
    @ExcelProperty("设备ID")
    private Integer deviceId;

    @Schema(description = "端口ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7053")
    @ExcelProperty("端口ID")
    private Integer portId;

    @Schema(description = "所属的 VLAN ID（即 VLAN 号），取值范围 1–4094，表示该端口参与的 VLAN。", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("所属的 VLAN ID（即 VLAN 号），取值范围 1–4094，表示该端口参与的 VLAN。")
    private Integer vlan;

    @Schema(description = "对应的桥端口索引", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("对应的桥端口索引")
    private Integer baseport;

    @Schema(description = "该端口在该 VLAN 中的生成树优先级（Spanning Tree Priority），影响 STP 根路径选择。", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("该端口在该 VLAN 中的生成树优先级（Spanning Tree Priority），影响 STP 根路径选择。")
    private Long priority;

    @Schema(description = "该端口在该 VLAN 中的生成树状态，常见值包括：	- forwarding	（转发）	- blocking	（阻塞）	- learning		- disabled		用于监控 STP 行为和网络环路风险。", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("该端口在该 VLAN 中的生成树状态，常见值包括：	- forwarding	（转发）	- blocking	（阻塞）	- learning		- disabled		用于监控 STP 行为和网络环路风险。")
    private String state;

    @Schema(description = "该端口在该 VLAN 中的生成树路径成本（STP Cost），成本越低，路径越优。可反映带宽或管理员配置。", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("该端口在该 VLAN 中的生成树路径成本（STP Cost），成本越低，路径越优。可反映带宽或管理员配置。")
    private Integer cost;

    @Schema(description = "是否为非标记（Untagged）端口：	- 1	：是", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否为非标记（Untagged）端口：	- 1	：是")
    private Integer untagged;

}
